using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace QldtSdh.DAL.Models.Mapping
{
    public class MaySanXuatMap : EntityTypeConfiguration<MaySanXuat>
    {
        public MaySanXuatMap()
        {
            // Khoá chính
            this.HasKey(t => t.MaMaySanXuat);

            // Các cột
            this.Property(t => t.TenMaySanXuat)
                .IsRequired()
                .HasMaxLength(50);

            this.Property(t => t.GhiChu)
                .HasMaxLength(255);

            // Ánh xạ Property của POCO vào Column của Table
            this.ToTable("MaySanXuat");
            this.Property(t => t.MaMaySanXuat).HasColumnName("MaMaySanXuat");
            this.Property(t => t.TenMaySanXuat).HasColumnName("TenMaySanXuat");
            this.Property(t => t.GhiChu).HasColumnName("GhiChu");
            this.Property(t => t.MaCongDoanSanXuat).HasColumnName("MaCongDoanSanXuat");
            // Các quan hệ
            this.HasRequired(t => t.CongDoanSanXuat)
                .WithMany(t => t.ListMaySanXuat)
                .HasForeignKey(d => d.MaCongDoanSanXuat);
        }
    }
}
